Field
Embodiments consistent with the present invention generally relate to queuing systems and more specifically, to a system and method for reorganization of messages in queuing systems.
Description of the Related Art
Message queues are ordered data structures designed for holding messages prior to processing. In some ways, message queues are preferable to databases because message queues provide high performance, high concurrency, and scalable load balance such that tens of thousands of messages can be processed each second. In contrast, a database may process only a few hundred messages per second. However, messages in a queue cannot be accessed as easily as messages in a database.
Message queues typically order the messages in either a first-in-first-out (FIFO) or a last-in-first-out (LIFO) manner. Currently, regardless of the ordering used, a message in a queue is removed from the “head” of the queue using a call, for example to remove( ) or poll ( ). New elements are added at the “tail” of the queue. Messages may not be added to or removed from the middle of the queue. Structured Query Language (SQL) is a special-purpose programming language designed for managing data in a relational database management system. Similar systems and methods that allow management of messages, specifically for messages to be added or removed from the middle of a queue, have not been available.
A need therefore exists for systems and methods for management and reorganization of messages in queuing systems.